home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / lrgclk.arc / LRGCLK.BAS (.txt)
Encoding:
GW-BASIC  |  1986-02-16  |  10.1 KB  |  404 lines

  1. 0  '************************************************************
  2. 1  '*                                                          *
  3. 2  '*   Author:     Mike J. Sullivan  , Houston, Tx.           *
  4. 3  '*               12402 Campos Dr. ,Houston, Tx. 77065       *
  5. 4  '*   Date:       09/05/82                                   *
  6. 5  '*   Purpose:    Display your Basic Programs                *
  7. 6  '*   Title:      Digital Clock                              *
  8. 7  '*   Comment(s): enjoy                                      *
  9. 8  '*                                                          *
  10. 9  '************************************************************
  11. 10  KEY OFF:COLOR 9,0
  12. 11  ODD = 0
  13. 12  Q15$ = "MbMLP14O4EO4CDO3G"
  14. 13  Q30$ = "MbMLP14O3GO4DEC"
  15. 15  CHIME = 0
  16. 20  CLS :LOCATE ,,0
  17. 40  LOCATE 1,19:PRINT "            **> Tandy 1000 <**"
  18. 50  LOCATE 3,19:PRINT "          DIGITAL  CLOCK   1 . 1 0  "
  19. 51  LOCATE 4,19:PRINT "TICK: (Y) Tick On  (N) Tick Off  (ESC) Exit"
  20. 60  GOSUB 4060
  21. 240  DIM ONE$(7),TWO$(7),THR$(7),FOU$(7),FIV$(7)
  22. 250  DIM SIX$(7),SEV$(7),EIG$(7),NIN$(7),ZER$(7),TEMP$(7)
  23. 260  XH1=0.1:XH2=0.1:XM1=0.1:XM2=0.2:XS1=0.1:XS2=0.1
  24. 270  COL$(1)="  "
  25. 280  COL$(2)="  "
  26. 290  COL$(3)=STRING$(2,CHR$(219))
  27. 300  COL$(4)="  "
  28. 310  COL$(5)=STRING$(2,CHR$(219))
  29. 320  COL$(6)="  "
  30. 330  COL$(7)="  "
  31. 340  ONE$(1)="  "+STRING$(3,CHR$(219))+"   "
  32. 350  ONE$(2)="   "+CHR$(219)+CHR$(219)+"   "
  33. 360  ONE$(3)="   "+CHR$(219)+CHR$(219)+"   "
  34. 370  ONE$(4)="   "+CHR$(219)+CHR$(219)+"   "
  35. 380  ONE$(5)="   "+CHR$(219)+CHR$(219)+"   "
  36. 390  ONE$(6)="   "+CHR$(219)+CHR$(219)+"   "
  37. 400  ONE$(7)=" "+STRING$(6,CHR$(219))+" "
  38. 410  TWO$(1)=STRING$(8,CHR$(219))
  39. 420  TWO$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  40. 430  TWO$(3)="      "+CHR$(219)+CHR$(219)
  41. 440  TWO$(4)=STRING$(8,CHR$(219))
  42. 450  TWO$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  43. 460  TWO$(5)=CHR$(219)+CHR$(219)+"      "
  44. 470  TWO$(7)=STRING$(8,CHR$(219))
  45. 480  THR$(1)=STRING$(8,CHR$(219))
  46. 490  THR$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  47. 500  THR$(3)="      "+CHR$(219)+CHR$(219)
  48. 510  THR$(4)=STRING$(8,CHR$(219))
  49. 520  THR$(5)="      "+CHR$(219)+CHR$(219)
  50. 530  THR$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  51. 540  THR$(7)=STRING$(8,CHR$(219))
  52. 550  FOU$(1)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  53. 560  FOU$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  54. 570  FOU$(3)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  55. 580  FOU$(4)=STRING$(8,CHR$(219))
  56. 590  FOU$(6)="      "+CHR$(219)+CHR$(219)
  57. 600  FOU$(5)="      "+CHR$(219)+CHR$(219)
  58. 610  FOU$(7)="      "+CHR$(219)+CHR$(219)
  59. 620  FIV$(1)=STRING$(8,CHR$(219))
  60. 630  FIV$(2)=CHR$(219)+CHR$(219)+"      "
  61. 640  FIV$(3)=CHR$(219)+CHR$(219)+"      "
  62. 650  FIV$(4)=STRING$(8,CHR$(219))
  63. 660  FIV$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  64. 670  FIV$(5)="      "+CHR$(219)+CHR$(219)
  65. 680  FIV$(7)=STRING$(8,CHR$(219))
  66. 690  SIX$(1)=STRING$(8,CHR$(219))
  67. 700  SIX$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  68. 710  SIX$(3)=CHR$(219)+CHR$(219)+"      "
  69. 720  SIX$(4)=STRING$(8,CHR$(219))
  70. 730  SIX$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  71. 740  SIX$(5)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  72. 750  SIX$(7)=STRING$(8,CHR$(219))
  73. 760  SEV$(1)=STRING$(8,CHR$(219))
  74. 770  SEV$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  75. 780  SEV$(3)="      "+CHR$(219)+CHR$(219)
  76. 790  SEV$(4)="      "+CHR$(219)+CHR$(219)
  77. 800  SEV$(5)="      "+CHR$(219)+CHR$(219)
  78. 810  SEV$(6)="      "+CHR$(219)+CHR$(219)
  79. 820  SEV$(7)="      "+CHR$(219)+CHR$(219)
  80. 830  EIG$(1)=STRING$(8,CHR$(219))
  81. 840  EIG$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  82. 850  EIG$(3)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  83. 860  EIG$(4)=STRING$(8,CHR$(219))
  84. 870  EIG$(5)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  85. 880  EIG$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  86. 890  EIG$(7)=STRING$(8,CHR$(219))
  87. 900  NIN$(1)=STRING$(8,CHR$(219))
  88. 910  NIN$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  89. 920  NIN$(3)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  90. 930  NIN$(4)=CHR$(219)+STRING$(7,CHR$(219))
  91. 940  NIN$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  92. 950  NIN$(5)="      "+CHR$(219)+CHR$(219)
  93. 960  NIN$(7)=STRING$(8,CHR$(219))
  94. 970  ZER$(1)=STRING$(8,CHR$(219))
  95. 980  ZER$(2)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  96. 990  ZER$(3)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  97. 1000  ZER$(4)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  98. 1010  ZER$(5)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  99. 1020  ZER$(6)=CHR$(219)+CHR$(219)+"    "+CHR$(219)+CHR$(219)
  100. 1030  ZER$(7)=CHR$(219)+STRING$(7,CHR$(219))
  101. 1040  H1=VAL(MID$(TIME$,1,1))
  102. 1050  H2=VAL(MID$(TIME$,2,1))
  103. 1060  M1=VAL(MID$(TIME$,4,1))
  104. 1070  M2=VAL(MID$(TIME$,5,1))
  105. 1080  S1=VAL(MID$(TIME$,7,1))
  106. 1090  S2=VAL(MID$(TIME$,8,1))
  107. 1095  XDA$=MID$(DATE$,4,2)
  108. 1096  Z$=INKEY$:IF Z$=CHR$(27) THEN END
  109. 1097  IF Z$="y" OR Z$="Y" THEN NOCHIME=0
  110. 1098  IF Z$="n" OR Z$="N" THEN NOCHIME=-1
  111. 1101  MIN = VAL(MID$(TIME$,4,2))
  112. 1102  HOUR = VAL(MID$(TIME$,1,2))
  113. 1103  IF HOUR = 0 THEN HOUR = 12
  114. 1104  IF CHIME = 1 AND MIN = 0 THEN GOSUB 10090
  115. 1105  IF CHIME = 1 AND MIN = 15 THEN GOSUB 10090
  116. 1106  IF CHIME = 1 AND MIN = 30 THEN GOSUB 10090
  117. 1107  IF CHIME = 1 AND MIN = 45 THEN GOSUB 10090
  118. 1108  IF (MIN = 14) OR (MIN = 29) OR (MIN = 44) OR (MIN = 59) OR (MIN = 16) OR (MIN = 31) OR (MIN = 46) OR (MIN = 1) THEN CHIME = 1
  119. 1110  IF S2=XS2 THEN 1040
  120. 1111  GOSUB 10000
  121. 1115  IF DA$<>XDA$ THEN GOSUB 4060
  122. 1120  IF H1=0 THEN 1130 ELSE 1170
  123. 1130  IF H1=XH1 THEN 1450 ELSE XH1=H1
  124. 1140  FOR I=1 TO 7
  125. 1150  TEMP$(I)=ZER$(I):NEXT I
  126. 1160  GOSUB 3100:GOTO 1450
  127. 1170  IF H1=XH1 THEN 1450 ELSE XH1=H1
  128. 1180  ON H1 GOTO 1190,1220,1250,1280,1310,1340,1370,1400,1430
  129. 1190  FOR I=1 TO 7
  130. 1200  TEMP$(I)=ONE$(I):NEXT I:GOSUB 3100
  131. 1210  GOTO 1450
  132. 1220  FOR I=1 TO 7
  133. 1230  TEMP$(I)=TWO$(I):NEXT I:GOSUB 3100
  134. 1240  GOTO 1450
  135. 1250  FOR I=1 TO 7
  136. 1260  TEMP$(I)=THR$(I):NEXT I:GOSUB 3100
  137. 1270  GOTO 1450
  138. 1280  FOR I=1 TO 7
  139. 1290  TEMP$(I)=FOU$(I):NEXT I:GOSUB 3100
  140. 1300  GOTO 1450
  141. 1310  FOR I=1 TO 7
  142. 1320  TEMP$(I)=FIV$(I):NEXT I:GOSUB 3100
  143. 1330  GOTO 1450
  144. 1340  FOR I=1 TO 7
  145. 1350  TEMP$(I)=SIX$(I):NEXT I:GOSUB 3100
  146. 1360  GOTO 1450
  147. 1370  FOR I=1 TO 7
  148. 1380  TEMP$(I)=SEV$(I):NEXT I:GOSUB 3100
  149. 1390  GOTO 1450
  150. 1400  FOR I=1 TO 7
  151. 1410  TEMP$(I)=EIG$(I):NEXT I:GOSUB 3100
  152. 1420  GOTO 1450
  153. 1430  FOR I=1 TO 7
  154. 1440  TEMP$(I)=NIN$(I):NEXT I:GOSUB 3100
  155. 1450  IF H2=0 THEN 1460 ELSE 1500
  156. 1460  IF H2=XH2 THEN 1790 ELSE XH2=H2
  157. 1470  FOR I=1 TO 7
  158. 1480  TEMP$(I)=ZER$(I):NEXT I
  159. 1490  GOSUB 3140:GOTO 1790
  160. 1500  IF H2=XH2 THEN 1790 ELSE XH2=H2
  161. 1510  ON H2 GOTO 1520,1550,1580,1610,1640,1670,1700,1730,1760
  162. 1520  FOR I=1 TO 7
  163. 1530  TEMP$(I)=ONE$(I):NEXT I:GOSUB 3140
  164. 1540  GOTO 1790
  165. 1550  FOR I=1 TO 7
  166. 1560  TEMP$(I)=TWO$(I):NEXT I:GOSUB 3140
  167. 1570  GOTO 1790
  168. 1580  FOR I=1 TO 7
  169. 1590  TEMP$(I)=THR$(I):NEXT I:GOSUB 3140
  170. 1600  GOTO 1790
  171. 1610  FOR I=1 TO 7
  172. 1620  TEMP$(I)=FOU$(I):NEXT I:GOSUB 3140
  173. 1630  GOTO 1790
  174. 1640  FOR I=1 TO 7
  175. 1650  TEMP$(I)=FIV$(I):NEXT I:GOSUB 3140
  176. 1660  GOTO 1790
  177. 1670  FOR I=1 TO 7
  178. 1680  TEMP$(I)=SIX$(I):NEXT I:GOSUB 3140
  179. 1690  GOTO 1790
  180. 1700  FOR I=1 TO 7
  181. 1710  TEMP$(I)=SEV$(I):NEXT I:GOSUB 3140
  182. 1720  GOTO 1790
  183. 1730  FOR I=1 TO 7
  184. 1740  TEMP$(I)=EIG$(I):NEXT I:GOSUB 3140
  185. 1750  GOTO 1790
  186. 1760  FOR I=1 TO 7
  187. 1770  TEMP$(I)=NIN$(I):NEXT I:GOSUB 3140
  188. 1780  GOTO 3090
  189. 1790  IF M1=0 THEN 1800 ELSE 1840
  190. 1800  IF M1=XM1 THEN 2120 ELSE XM1=M1
  191. 1810  FOR I=1 TO 7
  192. 1820  TEMP$(I)=ZER$(I):NEXT I
  193. 1830  GOSUB 3210:GOTO 2120
  194. 1840  IF M1=XM1 THEN 2120 ELSE XM1=M1
  195. 1850  ON M1 GOTO 1860,1890,1920,1950,1980,2010,2040,2070,2100
  196. 1860  FOR I=1 TO 7
  197. 1870  TEMP$(I)=ONE$(I):NEXT I:GOSUB 3210
  198. 1880  GOTO 2120
  199. 1890  FOR I=1 TO 7
  200. 1900  TEMP$(I)=TWO$(I):NEXT I:GOSUB 3210
  201. 1910  GOTO 2120
  202. 1920  FOR I=1 TO 7
  203. 1930  TEMP$(I)=THR$(I):NEXT I:GOSUB 3210
  204. 1940  GOTO 2120
  205. 1950  FOR I=1 TO 7
  206. 1960  TEMP$(I)=FOU$(I):NEXT I:GOSUB 3210
  207. 1970  GOTO 2120
  208. 1980  FOR I=1 TO 7
  209. 1990  TEMP$(I)=FIV$(I):NEXT I:GOSUB 3210
  210. 2000  GOTO 2120
  211. 2010  FOR I=1 TO 7
  212. 2020  TEMP$(I)=SIX$(I):NEXT I:GOSUB 3210
  213. 2030  GOTO 2120
  214. 2040  FOR I=1 TO 7
  215. 2050  TEMP$(I)=SEV$(I):NEXT I:GOSUB 3210
  216. 2060  GOTO 2120
  217. 2070  FOR I=1 TO 7
  218. 2080  TEMP$(I)=EIG$(I):NEXT I:GOSUB 3210
  219. 2090  GOTO 2120
  220. 2100  FOR I=1 TO 7
  221. 2110  TEMP$(I)=NIN$(I):NEXT I:GOSUB 3210
  222. 2120  IF M2=0 THEN 2130 ELSE 2170
  223. 2130  IF M2=XM2 THEN 2450 ELSE XM2=M2
  224. 2140  FOR I=1 TO 7
  225. 2150  TEMP$(I)=ZER$(I):NEXT I
  226. 2160  GOSUB 3250:GOTO 2450
  227. 2170  IF M2=XM2 THEN 2450 ELSE XM2=M2
  228. 2180  ON M2 GOTO 2190,2220,2250,2280,2310,2340,2370,2400,2430
  229. 2190  FOR I=1 TO 7
  230. 2200  TEMP$(I)=ONE$(I):NEXT I:GOSUB 3250
  231. 2210  GOTO 2450
  232. 2220  FOR I=1 TO 7
  233. 2230  TEMP$(I)=TWO$(I):NEXT I:GOSUB 3250
  234. 2240  GOTO 2450
  235. 2250  FOR I=1 TO 7
  236. 2260  TEMP$(I)=THR$(I):NEXT I:GOSUB 3250
  237. 2270  GOTO 2450
  238. 2280  FOR I=1 TO 7
  239. 2290  TEMP$(I)=FOU$(I):NEXT I:GOSUB 3250
  240. 2300  GOTO 2450
  241. 2310  FOR I=1 TO 7
  242. 2320  TEMP$(I)=FIV$(I):NEXT I:GOSUB 3250
  243. 2330  GOTO 2450
  244. 2340  FOR I=1 TO 7
  245. 2350  TEMP$(I)=SIX$(I):NEXT I:GOSUB 3250
  246. 2360  GOTO 2450
  247. 2370  FOR I=1 TO 7
  248. 2380  TEMP$(I)=SEV$(I):NEXT I:GOSUB 3250
  249. 2390  GOTO 2450
  250. 2400  FOR I=1 TO 7
  251. 2410  TEMP$(I)=EIG$(I):NEXT I:GOSUB 3250
  252. 2420  GOTO 2450
  253. 2430  FOR I=1 TO 7
  254. 2440  TEMP$(I)=NIN$(I):NEXT I:GOSUB 3250
  255. 2450  IF S1=0 THEN 2460 ELSE 2500
  256. 2460  IF S1=XS1 THEN 2780 ELSE XS1=S1
  257. 2470  FOR I=1 TO 7
  258. 2480  TEMP$(I)=ZER$(I):NEXT I
  259. 2490  GOSUB 3320:GOTO 2780
  260. 2500  IF S1=XS1 THEN 2780 ELSE XS1=S1
  261. 2510  ON S1 GOTO 2520,2550,2580,2610,2640,2670,2700,2730,2760
  262. 2520  FOR I=1 TO 7
  263. 2530  TEMP$(I)=ONE$(I):NEXT I:GOSUB 3320
  264. 2540  GOTO 2780
  265. 2550  FOR I=1 TO 7
  266. 2560  TEMP$(I)=TWO$(I):NEXT I:GOSUB 3320
  267. 2570  GOTO 2780
  268. 2580  FOR I=1 TO 7
  269. 2590  TEMP$(I)=THR$(I):NEXT I:GOSUB 3320
  270. 2600  GOTO 2780
  271. 2610  FOR I=1 TO 7
  272. 2620  TEMP$(I)=FOU$(I):NEXT I:GOSUB 3320
  273. 2630  GOTO 2780
  274. 2640  FOR I=1 TO 7
  275. 2650  TEMP$(I)=FIV$(I):NEXT I:GOSUB 3320
  276. 2660  GOTO 2780
  277. 2670  FOR I=1 TO 7
  278. 2680  TEMP$(I)=SIX$(I):NEXT I:GOSUB 3320
  279. 2690  GOTO 2780
  280. 2700  FOR I=1 TO 7
  281. 2710  TEMP$(I)=SEV$(I):NEXT I:GOSUB 3320
  282. 2720  GOTO 2780
  283. 2730  FOR I=1 TO 7
  284. 2740  TEMP$(I)=EIG$(I):NEXT I:GOSUB 3320
  285. 2750  GOTO 2780
  286. 2760  FOR I=1 TO 7
  287. 2770  TEMP$(I)=NIN$(I):NEXT I:GOSUB 3320
  288. 2780  IF S2=0 THEN 2790 ELSE 2820
  289. 2790  FOR I=1 TO 7
  290. 2800  TEMP$(I)=ZER$(I):NEXT I
  291. 2810  GOSUB 3360:GOTO 3090
  292. 2820  XS2=S2:ON S2 GOTO 2830,2860,2890,2920,2950,2980,3010,3040,3070
  293. 2830  FOR I=1 TO 7
  294. 2840  TEMP$(I)=ONE$(I):NEXT I:GOSUB 3360
  295. 2850  GOTO 3090
  296. 2860  FOR I=1 TO 7
  297. 2870  TEMP$(I)=TWO$(I):NEXT I:GOSUB 3360
  298. 2880  GOTO 3090
  299. 2890  FOR I=1 TO 7
  300. 2900  TEMP$(I)=THR$(I):NEXT I:GOSUB 3360
  301. 2910  GOTO 3090
  302. 2920  FOR I=1 TO 7
  303. 2930  TEMP$(I)=FOU$(I):NEXT I:GOSUB 3360
  304. 2940  GOTO 3090
  305. 2950  FOR I=1 TO 7
  306. 2960  TEMP$(I)=FIV$(I):NEXT I:GOSUB 3360
  307. 2970  GOTO 3090
  308. 2980  FOR I=1 TO 7
  309. 2990  TEMP$(I)=SIX$(I):NEXT I:GOSUB 3360
  310. 3000  GOTO 3090
  311. 3010  FOR I=1 TO 7
  312. 3020  TEMP$(I)=SEV$(I):NEXT I:GOSUB 3360
  313. 3030  GOTO 3090
  314. 3040  FOR I=1 TO 7
  315. 3050  TEMP$(I)=EIG$(I):NEXT I:GOSUB 3360
  316. 3060  GOTO 3090
  317. 3070  FOR I=1 TO 7
  318. 3080  TEMP$(I)=NIN$(I):NEXT I:GOSUB 3360
  319. 3090  XS2=S2:GOTO 1040
  320. 3100  FOR I=1 TO 7
  321. 3110  LOCATE 9+I,5:PRINT TEMP$(I)
  322. 3120  NEXT I
  323. 3130  RETURN
  324. 3140  FOR I=1 TO 7
  325. 3150  LOCATE 9+I,14:PRINT TEMP$(I)
  326. 3160  NEXT I
  327. 3170  FOR I=1 TO 7
  328. 3180  LOCATE 9+I,26:PRINT COL$(I)
  329. 3190  NEXT I
  330. 3200  RETURN
  331. 3210  FOR I=1 TO 7
  332. 3220  LOCATE 9+I,32:PRINT TEMP$(I)
  333. 3230  NEXT I
  334. 3240  RETURN
  335. 3250  FOR I=1 TO 7
  336. 3260  LOCATE 9+I,42:PRINT TEMP$(I)
  337. 3270  NEXT I
  338. 3280  FOR I=1 TO 7
  339. 3290  LOCATE 9+I,54:PRINT COL$(I)
  340. 3300  NEXT I
  341. 3310  RETURN
  342. 3320  FOR I=1 TO 7
  343. 3330  LOCATE 9+I,60:PRINT TEMP$(I)
  344. 3340  NEXT I
  345. 3350  RETURN
  346. 3360  FOR I=1 TO 7
  347. 3370  LOCATE 9+I,70:PRINT TEMP$(I)
  348. 3380  NEXT I
  349. 3390  RETURN
  350. 4060  MO$=MID$(DATE$,1,2)
  351. 4070  DA$=MID$(DATE$,4,2)
  352. 4080  YR$=MID$(DATE$,9,2)
  353. 4081  YR4$=MID$(DATE$,7,4)
  354. 4090  MO=VAL(MO$)
  355. 4091  YR=VAL(YR$)
  356. 4092  YR4=VAL(YR4$)
  357. 4100  ON MO GOTO 4110,4120,4130,4140,4150,4160,4170,4180,4190,4200,4210,4220
  358. 4110  MO$="JANUARY":GOTO 4230
  359. 4120  MO$="FEBRUARY":GOTO 4230
  360. 4130  MO$="MARCH":GOTO 4230
  361. 4140  MO$="APRIL":GOTO 4230
  362. 4150  MO$="MAY":GOTO 4230
  363. 4160  MO$="JUNE":GOTO 4230
  364. 4170  MO$="JULY":GOTO 4230
  365. 4180  MO$="AUGUST":GOTO 4230
  366. 4190  MO$="SEPTEMBER":GOTO 4230
  367. 4200  MO$="OCTOBER":GOTO 4230
  368. 4210  MO$="NOVEMBER":GOTO 4230
  369. 4220  MO$="DECEMBER":GOTO 4230
  370. 4230  YEAR%=YR4
  371. 4233  MONTH%=MO
  372. 4235  DAY%=VAL(DA$)
  373. 4240  IF MONTH%=1 OR MONTH%=2 THEN 4250 ELSE 4270
  374. 4250  YEAR%=YEAR%-1
  375. 4260  MONTH%=MONTH%+12
  376. 4270  DOW.K%=DAY%+YEAR%+MONTH%*2+YEAR%\4+YEAR%\400+(MONTH%+1)*3\5+2-YEAR%\100
  377. 4330  DOW%=DOW.K% MOD 7
  378. 4360  IF DOW%=0 OR DOW%=1 THEN DOW%=DOW%+7
  379. 4370  DOW%=DOW%-1
  380. 4500  ON DOW% GOTO 4510,4520,4530,4540,4550,4560,4570
  381. 4510  DOW$="MONDAY":GOTO 4580
  382. 4520  DOW$="TUESDAY":GOTO 4580
  383. 4530  DOW$="WEDNESDAY":GOTO 4580
  384. 4540  DOW$="THURSDAY":GOTO 4580
  385. 4550  DOW$="FRIDAY":GOTO 4580
  386. 4560  DOW$="SATURDAY":GOTO 4580
  387. 4570  DOW$="SUNDAY":GOTO 4580
  388. 4580  LOCATE 22,28:PRINT DOW$;", ";MO$;" ";DA$;", ";YR4$;"     "
  389. 4590  RETURN
  390. 10000  IF NOCHIME THEN RETURN ELSE IF TICKOFF < 0 THEN TICKOFF = TICKOFF + 1:RETURN
  391. 10003  IF ODD = 1 THEN SOUND 1000,1:SOUND 37,0:SOUND 32767,1:ODD = 0:RETURN
  392. 10010  SOUND 5000,1:SOUND 37,0:SOUND 32767,1:ODD = 1:RETURN
  393. 10090  CHIME = 0
  394. 10095  ODD = 0
  395. 10100  IF MIN = 15 THEN PLAY Q15$:TICKOFF = -2:RETURN
  396. 10110  IF MIN = 30 THEN PLAY Q15$+Q30$:TICKOFF = -5:RETURN
  397. 10120  IF MIN = 45 THEN PLAY Q15$+Q30$+Q15$:TICKOFF = -7:RETURN
  398. 10130  IF MIN = 0 THEN PLAY Q15$+Q30$+Q15$+Q30$:TICKOFF = -9 + -1*HOUR
  399. 10135  PLAY "mbP2"
  400. 10140  FOR II = 1 TO HOUR
  401. 10150  PLAY"MBO3CN0"
  402. 10160  NEXT II
  403. 10170  RETURN
  404.